package com.bsj.power.common.def.dto.job;

import com.bsj.power.common.def.entity.job.QualityPlan;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author yinhao
 * @version 1.0
 * @description 作业请求对象
 * @date 2024/6/11
 */
@Data
public class JobDTO {
    /**
     * Id主键
     */
    private Long jobId;
    /**
     * 工单号
     */
    @NotBlank(message = "工单号不能为空")
    private String jobNum;
    /**
     * 作业标题
     */
    private String title;
    /**
     * 作业描述
     */
    private String description;
    /**
     * 作业区域（场景名称）
     */
    @NotBlank(message = "作业区域（场景名称）不能为空")
    private String workArea;
    /**
     * 作业计划开始时间
     */
    @NotBlank(message = "作业开始时间不能为空")
    private String startTime;
    /**
     * 作业计划结束时间
     */
    private String endTime;
    /**
     * 负责人id
     */
    @NotNull(message = "负责人id不能为空")
    private Integer directorId;
    /**
     * 负责人
     */
    private String director;
    /**
     * 负责人电话
     */
    private String phone;
    /**
     * 作业状态 0未完成 1进行中 2已完成
     */
    private Integer status;
    /**
     * 状态描述
     */
    private String stateDescription;
    /**
     * 作业目标开始时间
     */
    private String targetTime;
    /**
     * 作业目标完成时间
     */
    private String completeTime;
    /**
     * 执行主管
     */
    private String executiveDirector;
    /**
     * 承包商QC选点状态
     */
    private String contractorQc;
    /**
     * 维修QC选点状态
     */
    private String maintainQc;
    /**
     * 技术支持QC选点状态
     */
    private String technicalSupportQc;
    /**
     * 作业人员
     */
    private List<String> personnel;
    /**
     * 质量计划
     */
    @NotEmpty(message = "质量计划不能为空")
    private List<QualityPlan> qualityPlans;
}
